/**
 * 
 */
package cn.maszy.service.impl.customer;

import java.util.Date;
import java.util.List;
import java.util.UUID;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import cn.maszy.common.Pager;
import cn.maszy.common.SessionFactory;
import cn.maszy.dao.customer.B_T_Ufp_SellFollowMapper;
import cn.maszy.model.customer.B_T_Ufp_SellFollow;
import cn.maszy.model.customer.B_T_Ufp_SellFollowExample;
import cn.maszy.model.customer.B_T_Ufp_SellFollowExample.Criteria;
import cn.maszy.service.customer.B_T_Ufp_SellFollowService;

@Service
public class B_T_Ufp_SellFollowServiceImpl implements B_T_Ufp_SellFollowService {
	@Autowired
	private B_T_Ufp_SellFollowMapper B_T_Ufp_SellFollowMapper;

	/*
	 * (non-Javadoc)
	 * 
	 * @see
	 * cn.maszy.service.investment.B_T_Ufp_SellFollowService#update(cn.maszy
	 * .model.investment.B_T_Ufp_SellFollow,
	 * cn.maszy.model.investment.B_T_Ufp_SellFollowExample)
	 */
	public int update(B_T_Ufp_SellFollow B_T_Ufp_SellFollow) {
		// TODO Auto-generated method stub
		if (B_T_Ufp_SellFollow.getUuid() == null
				|| "".equals(B_T_Ufp_SellFollow.getUuid())) {
			B_T_Ufp_SellFollow.setUuid(UUID.randomUUID().toString());
			B_T_Ufp_SellFollow.setIsDelete(0);
			B_T_Ufp_SellFollow.setCreateTime(new Date());
			B_T_Ufp_SellFollow.setCreateUser(SessionFactory
					.getSessionUserRealNam());
			return B_T_Ufp_SellFollowMapper.insert(B_T_Ufp_SellFollow);
		} else {
			B_T_Ufp_SellFollow.setUpdateTime(new Date());
			B_T_Ufp_SellFollow.setUpdateUser(SessionFactory
					.getSessionUserRealNam());
			return B_T_Ufp_SellFollowMapper
					.updateByPrimaryKeySelective(B_T_Ufp_SellFollow);
		}
	}

	/*
	 * (non-Javadoc)
	 * 
	 * @see
	 * cn.maszy.service.investment.B_T_Ufp_SellFollowService#selectOne(java.
	 * lang.String)
	 */
	public B_T_Ufp_SellFollow selectOne(String uuid) {
		// TODO Auto-generated method stub
		B_T_Ufp_SellFollow record = B_T_Ufp_SellFollowMapper
				.selectByPrimaryKey(uuid);
		return record;
	}

	/*
	 * (non-Javadoc)
	 * 
	 * @see
	 * cn.maszy.service.investment.B_T_Ufp_SellFollowService#delete(java.lang
	 * .String)
	 */
	public int delete(String checkIds) {
		// TODO Auto-generated method stub
		B_T_Ufp_SellFollow record = new B_T_Ufp_SellFollow();
		for (String id : checkIds.split(", ")) {
			// 逻辑删除
			// 修改主表 isdelete
			if (!"on".equals(id)) {
				record = B_T_Ufp_SellFollowMapper.selectByPrimaryKey(id);
				record.setIsDelete(1);
				B_T_Ufp_SellFollowMapper.updateByPrimaryKey(record);
			}
		}
		// for (String id : checkIds.split(", ")) {
		// //逻辑删除
		// B_T_Ufp_SellFollowMapper.deleteByPrimaryKey(id);
		// }
		return 1;
	}

	/*
	 * (non-Javadoc)
	 * 
	 * @see
	 * cn.maszy.service.investment.B_T_Ufp_SellFollowService#count(cn.maszy.
	 * model.investment.B_T_Ufp_SellFollowExample)
	 */
	public int count(B_T_Ufp_SellFollowExample example,
			B_T_Ufp_SellFollowMapper B_T_Ufp_SellFollowMapper) {
		// TODO Auto-generated method stub
		return B_T_Ufp_SellFollowMapper.countByExample(example);
	}

	/*
	 * (non-Javadoc)
	 * 
	 * @see
	 * cn.maszy.service.investment.B_T_Ufp_SellFollowService#selectList(cn.maszy
	 * .model.investment.B_T_Ufp_SellFollow)
	 */
	public Pager<B_T_Ufp_SellFollow> selectList(
			B_T_Ufp_SellFollow B_T_Ufp_SellFollow,
			Pager<B_T_Ufp_SellFollow> pager) {
		// TODO Auto-generated method stub
		// 添加查询条件
		B_T_Ufp_SellFollowExample example = new B_T_Ufp_SellFollowExample();
		Criteria criteria = example.createCriteria();
		// System.out.println(B_T_Ufp_SellFollow.getSellclueId()+"!!!!!");
		if (B_T_Ufp_SellFollow != null) {
			if (B_T_Ufp_SellFollow.getSellclueId() != null
					&& !"".equals(B_T_Ufp_SellFollow.getSellclueId())) {
				criteria.andSellclueIdEqualTo(B_T_Ufp_SellFollow
						.getSellclueId());
			}
			if (B_T_Ufp_SellFollow.getRepresentative() != null
					&& !"".equals(B_T_Ufp_SellFollow.getRepresentative())) {
				criteria.andRepresentativeLike("%"+B_T_Ufp_SellFollow.getRepresentative()+"%");
			}
		}
		criteria.andIsDeleteEqualTo(0);
		example.or(criteria);
		int totalCount = new B_T_Ufp_SellFollowServiceImpl().count(example,
				B_T_Ufp_SellFollowMapper);
		pager.setTotalRecords(totalCount);
		example.setLimitStart(pager.getStartRecord());
		example.setLimitEnd(pager.getPageSize());
		example.setOrderByClause(pager.getOrderField() + " "
				+ pager.getOrderDirection());

		// 取得总的记录条数
		List<B_T_Ufp_SellFollow> list = B_T_Ufp_SellFollowMapper
				.selectByExample(example);
		pager.setPageRecords(list);
		return pager;
	}
}
